package it.scambiocorse.dao;

import java.util.ArrayList;
import java.util.HashMap;

import it.scambiocorse.model.AreaType;
import it.scambiocorse.model.AutistaType;
import it.scambiocorse.model.JTableType;
import it.scambiocorse.model.SorgenteType;
import it.scambiocorse.model.UtenteType;

public interface AreaService {

	public ArrayList<AreaType> listaAreePrivate(int idSogg) throws Exception;
	public int inserisciArea(AreaType area) throws Exception;
	public boolean esisteAreaByNome(String nomeArea);
	public ArrayList<UtenteType> listaPartecipanti(int idAreaRequest) throws Exception;
	public ArrayList<AutistaType> listaAutistiIdUser(int idUser) throws Exception;
	public int tipoAccessoUtenteByArea(int idUser, int idAreaRequest) throws Exception;
	public void associaUtente(int appoIdArea, int idUser, Integer tipoAcc) throws Exception;
	public int inserisciAutista(AutistaType autista) throws Exception;
//	public int inserisciSorgente(SorgenteType src) throws Exception ;
	public ArrayList<SorgenteType> listaSorgentiIdUser(int idUser) throws Exception;
	public void eliminaPart(int idUser, int idArea) throws Exception;
	public AreaType findAreaById(int idArea) throws Exception;
	public boolean eliminaAutista(int idAutista) throws Exception;
	public boolean modificaAutista(AutistaType a)throws Exception;
	public boolean eliminaCollaboratore(int idColl, int i) throws Exception;
	public boolean modificaCollaboratore(AutistaType a) throws Exception;
	 public HashMap listaCollaboratoriIdUserJTable(int idUser, JTableType j) throws Exception;
		public AutistaType dettaglioCollaboratore(int idSorgente, int idUser) throws Exception;
}
